1. Technical Field
This disclosure relates to software testing, and in particular, this disclosure relates to an automation controller for an integrated platform for developing, debugging, and executing tests to insure the integrity and functionality of software systems.
2. Background
The development of computer software involves a rigorous testing process to insure that the software functions as intended. During the testing process, testers write various test scripts or software test modules for performing different types of tests necessary to ensure that the computer software is functioning as designed. The testers also set up and run the test scripts while tracking the results, and report the test result to appropriate personnel. This process is inefficient and time consuming, and requires significant tester involvement.
Further, as businesses continue to rely on computer software and complex software packages, an increasing number of highly complex computer software has been developed to meet business demands. Due to the increased complexity and scale, such software programs require a large-scale testing process involving far more testers and test scripts than were required previously. Such increases are related to organizations centralizing their testing and moving to an outsourced testing model. Traditionally, testing was ‘embedded’ into the systems development life cycle (SDLC) for each project, but now central ‘discrete’ testing functions exist within organizations, which test across multiple projects and releases.
Testing tools have been developed to assist the testers in performing the various steps of the testing process. However, existing testing tools are not able to provide the required functionality and efficiency to overcome the challenges posed by the large-scale testing process.
Testing of various products and/or software products has increased in complexity and scope. In the past, relatively small groups of designers and developers, perhaps 10 to 30 in number, developed various tests for testing and verifying the function of software modules or code segments. Such small groups of individuals have been manageable. However, as the number of individuals contributing to the project becomes large, redundancy and complexity increase, which contributes to increased cost and an increase in the number of errors. Therefore, a need exists to address the above.